

#ifndef __ASTAR_VERTEX_H__
#define __ASTAR_VERTEX_H__

#include <stddef.h>

/***********************************************************************************/

class vertex final {
  vertex(size_t i, const vertex* pv);

public:
  static vertex* create(size_t i, const vertex* pv);
  const  vertex* next() const;
  void* operator new(size_t size);
  void  operator delete(void* ptr);

public:
  size_t f, g, step;
  const size_t  i;
  const vertex* prev;
};

/***********************************************************************************/

#endif //__ASTAR_VERTEX_H__
